import { createApp } from "vue";
import {
  Pagination,
  Dialog,
  Autocomplete,
  Dropdown,
  DropdownMenu,
  DropdownItem,
  Menu,
  Submenu,
  MenuItem,
  MenuItemGroup,
  Input,
  InputNumber,
  Radio,
  RadioGroup,
  RadioButton,
  Checkbox,
  CheckboxButton,
  CheckboxGroup,
  Switch,
  Select,
  Option,
  OptionGroup,
  Button,
  ButtonGroup,
  Table,
  TableColumn,
  DatePicker,
  TimeSelect,
  TimePicker,
  Popover,
  Tooltip,
  Breadcrumb,
  BreadcrumbItem,
  Form,
  FormItem,
  Tabs,
  TabPane,
  Tag,
  Tree,
  Alert,
  Slider,
  Icon,
  Row,
  Col,
  Upload,
  Progress,
  Badge,
  Card,
  Rate,
  Steps,
  Step,
  Carousel,
  CarouselItem,
  Collapse,
  CollapseItem,
  Cascader,
  ColorPicker,
  Transfer,
  Container,
  Header,
  Aside,
  Main,
  Footer,
  Loading,
  MessageBox,
  Message,
  Notification
} from "element-ui";

const app = createApp();

app.use(Pagination);
app.use(Dialog);
app.use(Autocomplete);
app.use(Dropdown);
app.use(DropdownMenu);
app.use(DropdownItem);
app.use(Menu);
app.use(Submenu);
app.use(MenuItem);
app.use(MenuItemGroup);
app.use(Input);
app.use(InputNumber);
app.use(Radio);
app.use(RadioGroup);
app.use(RadioButton);
app.use(Checkbox);
app.use(CheckboxButton);
app.use(CheckboxGroup);
app.use(Switch);
app.use(Select);
app.use(Option);
app.use(OptionGroup);
app.use(Button);
app.use(ButtonGroup);
app.use(Table);
app.use(TableColumn);
app.use(DatePicker);
app.use(TimeSelect);
app.use(TimePicker);
app.use(Popover);
app.use(Tooltip);
app.use(Breadcrumb);
app.use(BreadcrumbItem);
app.use(Form);
app.use(FormItem);
app.use(Tabs);
app.use(TabPane);
app.use(Tag);
app.use(Tree);
app.use(Alert);
app.use(Slider);
app.use(Icon);
app.use(Row);
app.use(Col);
app.use(Upload);
app.use(Progress);
app.use(Badge);
app.use(Card);
app.use(Rate);
app.use(Steps);
app.use(Step);
app.use(Carousel);
app.use(CarouselItem);
app.use(Collapse);
app.use(CollapseItem);
app.use(Cascader);
app.use(ColorPicker);
app.use(Transfer);
app.use(Container);
app.use(Header);
app.use(Aside);
app.use(Main);
app.use(Footer);

app.use(Loading.directive);

app.prototype.$loading = Loading.service;
app.prototype.$msgbox = MessageBox;
app.prototype.$alert = MessageBox.alert;
app.prototype.$confirm = MessageBox.confirm;
app.prototype.$prompt = MessageBox.prompt;
app.prototype.$notify = Notification;
app.prototype.$message = Message;
